package everest3;

//~--- JDK imports ------------------------------------------------------------

import java.math.BigInteger;

import javax.swing.*;

import java.awt.event.*;
import java.awt.*;

import javax.swing.event.*;

import java.net.*;

import java.io.*;

public class PruebaEntorno extends JFrame implements ActionListener {
    private JMenuBar barraMenu = new JMenuBar();
    private JMenu    Archivo;
    private JMenu    cliente;
    private JMenu    materialB;
    private JMenu    reservar;
    private JMenu    prestar;
    private JMenu    multa;
    private JMenu    informe;
    private JMenu    Ayuda;

    PruebaEntorno() {
        super("SISTEMA BIBLIOTECARIO");
        setSize(800, 600);

        ImageIcon icono = new ImageIcon("iconoVentana.gif");

        setIconImage(icono.getImage());    // Asignar el icono al JFrame.

        // *****************************BARRA DE MENU*****************************************
        setArchivo(new JMenu("Archivo"));
        getArchivo().setMnemonic('A');
        setCliente(new JMenu("Cliente"));
        getCliente().setMnemonic('l');
        getCliente().setToolTipText("Manejar Cliente");

        JMenuItem nuevoCliente = new JMenuItem("Nuevo Cliente");

        nuevoCliente.setMnemonic('v');
        nuevoCliente.setToolTipText("Ingresar Nuevo Cliente al Sistema");
        getCliente().add(nuevoCliente);

        JMenuItem modifCliente = new JMenuItem("Modificar Datos Cliente");

        modifCliente.setMnemonic('d');
        modifCliente.setToolTipText("Modificar Informacion de un Cliente Ya Registrado");
        getCliente().add(modifCliente);

        JMenuItem eliminaCliente = new JMenuItem("Eliminar Cliente");

        eliminaCliente.setMnemonic('m');
        eliminaCliente.setToolTipText("Elimina un Cliente del Sistema");
        getCliente().add(eliminaCliente);
        getArchivo().add(getCliente());

        JMenuItem salir = new JMenuItem("Salir");

        salir.setToolTipText("Salir de la Aplicacion");
        salir.setMnemonic('S');
        getArchivo().add(salir);
        getBarraMenu().add(getArchivo());
        setMaterialB(new JMenu("Material Bibliografico"));
        getMaterialB().setMnemonic('m');
        getMaterialB().setToolTipText("Manejar Material Bibliografico");

        JMenuItem nuevomaterial = new JMenuItem("Nuevo Material");

        nuevomaterial.setMnemonic('u');
        nuevomaterial.setToolTipText("Ingresar Nuevo Material Bibliografico al Sistema");
        getMaterialB().add(nuevomaterial);

        JMenuItem modifmaterial = new JMenuItem("Modificar Material");

        modifmaterial.setMnemonic('o');
        modifmaterial.setToolTipText("Modificar Informacion de Material Bibliografico existente en el Sistema");
        getMaterialB().add(modifmaterial);

        JMenuItem eliminmaterial = new JMenuItem("Eliminar Material");

        eliminmaterial.setMnemonic('i');
        eliminmaterial.setToolTipText("Eliminar Informacion de Material Bibliografico existente en el Sistema");
        getMaterialB().add(eliminmaterial);

        JMenuItem consultamaterial = new JMenuItem("Consultar Material");

        consultamaterial.setMnemonic('c');
        consultamaterial.setToolTipText("Consultar informacion de  Material Bibliografico del Sistema");
        consultamaterial.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F, Event.CTRL_MASK));
        consultamaterial.addActionListener(this);
        getMaterialB().add(consultamaterial);
        getBarraMenu().add(getMaterialB());
        setReservar(new JMenu("Reservas"));
        getReservar().setMnemonic('r');
        getReservar().setToolTipText("Manejar Reserva");

        JMenuItem nuevaReseva = new JMenuItem("Nueva Reserva");

        nuevaReseva.setMnemonic('n');
        nuevaReseva.setToolTipText(
            "Ingresar la Reservacion para Prestamo de Material Bibliografico existente en el Sistema");
        getReservar().add(nuevaReseva);

        JMenuItem eliminaReseva = new JMenuItem("Eliminar Reserva");

        eliminaReseva.setMnemonic('e');
        eliminaReseva.setToolTipText(
            "Eliminar la Reservacion para extender el Prestamo de Material Bibliografico existente en el Sistema");
        getReservar().add(eliminaReseva);
        getBarraMenu().add(getReservar());
        setPrestar(new JMenu("Prestamo"));
        getPrestar().setMnemonic('p');
        getPrestar().setToolTipText("Manejar Prestamo de Material Bibliografico");

        JMenuItem nuevoprestamo = new JMenuItem("Nuevo Prestamo");

        nuevoprestamo.setMnemonic('n');
        nuevoprestamo.setToolTipText("Ingresar Prestamo de Material Bibliografico existente en el Sistema");
        getPrestar().add(nuevoprestamo);

        JMenuItem renuevaprestamo = new JMenuItem("Renovar Prestamo");

        renuevaprestamo.setMnemonic('r');
        renuevaprestamo.setToolTipText("Renovar Prestamo de Material Bibliografico existente en el Sistema");
        getPrestar().add(renuevaprestamo);

        JMenuItem eliminaprestamo = new JMenuItem("Eliminar Prestamo");

        eliminaprestamo.setMnemonic('e');
        eliminaprestamo.setToolTipText("Eliminar Prestamo de Material Bibliografico existente en el Sistema");
        getPrestar().add(eliminaprestamo);
        getBarraMenu().add(getPrestar());
        setMulta(new JMenu("Multas"));
        getMulta().setMnemonic('m');
        getMulta().setToolTipText("Manejar Multas Generadas");

        JMenuItem pagomulta = new JMenuItem("Reportar Pago de una Multa");

        pagomulta.setMnemonic('r');
        pagomulta.setToolTipText("Ingresar el Pago de una Multa sobre un cliente existente en el Sistema");
        getMulta().add(pagomulta);

        JMenuItem consultamulta = new JMenuItem("Consular Multa");

        consultamulta.setMnemonic('c');
        consultamulta.setToolTipText("Consultar el Monto de la Deuda de un cliente existente en el Sistema");
        getMulta().add(consultamulta);
        getBarraMenu().add(getMulta());
        setInforme(new JMenu("Informes"));
        getInforme().setMnemonic('I');
        getInforme().setToolTipText("Manejar Informes de Actividades del Sistema");

        JMenuItem informeprestamo = new JMenuItem("Prestamo de Libros");

        informeprestamo.setMnemonic('r');
        informeprestamo.setToolTipText("Generar Informe de Prestamo de Libros existente en el Sistema");
        getInforme().add(informeprestamo);

        JMenuItem totalmulta = new JMenuItem("Multas Generadas");

        totalmulta.setMnemonic('c');
        totalmulta.setToolTipText("Consultar el Monto de las Deudas generadas en un periodo de tiempo en el Sistema");
        getInforme().add(totalmulta);
        getBarraMenu().add(getInforme());
        setAyuda(new JMenu("Ayuda"));
        getAyuda().setMnemonic('y');
        getAyuda().setToolTipText("Manejar Multas Generadas");

        JMenuItem temaayuda = new JMenuItem("Temas de Ayuda");

        temaayuda.setMnemonic('y');
        temaayuda.setToolTipText("Ayuda del Sistema");
        getAyuda().add(temaayuda);
        temaayuda.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));
        temaayuda.addActionListener(this);

        JMenuItem Acerca = new JMenuItem("Acerca de..");

        Acerca.setMnemonic('c');
        Acerca.setToolTipText("");
        getAyuda().add(Acerca);
        getBarraMenu().add(getAyuda());
        setJMenuBar(getBarraMenu());

        Container contenedor = getContentPane();

        contenedor.setLayout(null);

        KeyStroke ctrlQ = KeyStroke.getKeyStroke(KeyEvent.VK_Q, Event.CTRL_MASK);

        salir.setAccelerator(ctrlQ);
        salir.addActionListener(this);
        setVisible(true);
    }

    public void actionPerformed(ActionEvent ae) {
        String opcion = (String) ae.getActionCommand();

        if (opcion.equals("Temas de Ayuda")) {
            String path = "Ayuda/Ayuda del Sistema.chm";

            // String path="E:\\MIS DOCUMENTOS\\UNIVALLE\\TECNOLOGIA EN SISTEMAS\\Semestre  4\\Desarrollo I\\OTRAS COSAS\\VISIBILIDAD_A11.pdf";
            // String comando[]={"D:\\Archivos de programa\\Adobe\\Acrobat 6.0\\Reader\\AcroRd32.exe", path};
            String comando[] = { "hh", path };

            try {
                Process proc = Runtime.getRuntime().exec(comando);
            } catch (IOException ex) {
                ex.printStackTrace();
            } catch (Exception e) {
                System.out.println("no funciono");
            }
        }

        if (opcion.equals("Consultar Material")) {
            JOptionPane.showMessageDialog(null, "Consultar Material");
        }

        if (opcion.equals("Salir")) {
            System.out.println(Integer.MAX_VALUE);
            System.out.println();
            System.out.println(Long.MAX_VALUE);
            System.out.println(Long.parseLong("86012932466"));

            if (JOptionPane.showConfirmDialog(null, "Realmente desea salir de la Aplicacion?",
                                              "Confirmacion de Salida", JOptionPane.YES_NO_OPTION) == 0) {
                System.exit(0);
            }
        }
    }

    public static void main(String args[]) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }

        PruebaEntorno obj = new PruebaEntorno();

        obj.getMaterialB().setEnabled(false);

        // obj.informe.setEnabled(false);
        obj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

    public JMenuBar getBarraMenu() {
        return barraMenu;
    }

    public void setBarraMenu(JMenuBar barraMenu) {
        this.barraMenu = barraMenu;
    }

    public JMenu getArchivo() {
        return Archivo;
    }

    public void setArchivo(JMenu Archivo) {
        this.Archivo = Archivo;
    }

    public JMenu getCliente() {
        return cliente;
    }

    public void setCliente(JMenu cliente) {
        this.cliente = cliente;
    }

    public JMenu getMaterialB() {
        return materialB;
    }

    public void setMaterialB(JMenu materialB) {
        this.materialB = materialB;
    }

    public JMenu getReservar() {
        return reservar;
    }

    public void setReservar(JMenu reservar) {
        this.reservar = reservar;
    }

    public JMenu getPrestar() {
        return prestar;
    }

    public void setPrestar(JMenu prestar) {
        this.prestar = prestar;
    }

    public JMenu getMulta() {
        return multa;
    }

    public void setMulta(JMenu multa) {
        this.multa = multa;
    }

    public JMenu getInforme() {
        return informe;
    }

    public void setInforme(JMenu informe) {
        this.informe = informe;
    }

    public JMenu getAyuda() {
        return Ayuda;
    }

    public void setAyuda(JMenu Ayuda) {
        this.Ayuda = Ayuda;
    }
}


//~ Formatted by Jindent --- http://www.jindent.com
